--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Commit fbbda8153ef0507b43d5b62433bdbbfe61baa162
Parents : 831e91a
Author : Mark Qvist <mark@unsigned.io>
Date : 2021-10-08T17:34:27+02:00
Fixed invalid mutation in peer sync
Changes
Diff
diff --git a/LXMF/LXMF.py b/LXMF/LXMF.py
index 1f3dc82..b23189e 100644
--- a/LXMF/LXMF.py
+++ b/LXMF/LXMF.py
@@ -707,7 +707,8 @@ class LXMPeer:
else:
# Peer wants some advertised messages
- for transient_id in self.unhandled_messages:
+ peer_had_messages = []
+ for transient_id in self.unhandled_messages.copy():
# If the peer did not want the message, it has
# already received it from another peer.
if not transient_id in response:
@@ -742,6 +743,12 @@ class LXMPeer:
RNS.log("Error while handling offer response from peer "+str(self.destination), RNS.LOG_ERROR)
RNS.log("The contained exception was: "+str(e), RNS.LOG_ERROR)
+ if self.link != None:
+ self.link.teardown()
+
+ self.link = None
+ self.state = LXMPeer.IDLE
+
def resource_concluded(self, resource):
if resource.status == RNS.Resource.COMPLETE:
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────